using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ServiceModel;
using EIA.WCFService.ClientProxy;

namespace EIA.PM.BLL.ClientProxy
{
    /// <summary>
    /// generated by binking
    /// </summary>
    public class XStaffRolesProxy : ProxyBase
    {
        
        public IClientChannel Update(System.Int32 stf_id,System.Collections.Generic.IList<System.Int32> role_ids, Action<System.Boolean> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(stf_id), Newtonsoft.Json.JsonConvert.SerializeObject(role_ids) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XStaffRolesBlp", "Update", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XStaffRolesBlp", "Update", json_args, callback, errorCallback);
        }
        public IClientChannel UpdateMany(System.Collections.Generic.IList<System.Int32> stf_ids,System.Collections.Generic.IList<System.Int32> role_ids, Action<System.Boolean> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(stf_ids), Newtonsoft.Json.JsonConvert.SerializeObject(role_ids) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XStaffRolesBlp", "UpdateMany", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XStaffRolesBlp", "UpdateMany", json_args, callback, errorCallback);
        }
        public IClientChannel List(System.Int32 stf_id, Action<System.Tuple<System.Int32, System.Collections.Generic.IList<System.Int32>>> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(stf_id) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XStaffRolesBlp", "List", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XStaffRolesBlp", "List", json_args, callback, errorCallback);
        }
    }
}